9  Lezione 11 - 30/10

9.1 Valutazione di sistema con giudizi non binari

  • Precision e Recall permettono solo valutazioni di sistemi in cui la rilevanza è espressa tramite giudizi binari.
    • Una metrica per valutare sistemi la cui rilevanza è espressa su scale a più valori è la Discounted Cumulative Gain
  • Principi della DCG:
    1. I documenti molto rilevanti sono più utili dei documenti marginalmente rilevanti (un documento valutato 8 su 10 è più utile di uno valutato 5 su 10)
    2. E’ preferibile che i documenti più rilevanti siano in cima ai risultati poiché la loro utilità diminuisce proporzionalmente alla profondità della loro posizione.
  • La DCG è calcolata in più fasi:
    • G = Gain vector: quantifichiamo i due principi a partire da un gain vector, ovvero un vettore in cui l’esperto esprime, secondo la scala utilizzata, la rilevanza dei documenti ritrovati (tagliando la lista magari ai primi 15 risultati).
      • Esempio
        • G1 = (1, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 3)
        • G2 = (0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3)
    • C = Cumulated: il valore in posizione i del vettore è uguale al cumulated gain alla posizione i-1 più il valore espresso in posizione i
      • Esempio
        • CG1 = (1, 1, 2, 2, 2, 5, 5, 5, 5, 7, 7, 7, 7, 7, 10)
        • CG2 = (0, 0, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 6)
      • Formalmente: CG_j[i] = \begin{cases} G_j [1] \; \; \; \text{if i = 1} \\ G_j[i] + CG_j[i - 1] \; \; \; \text{i > 1} \end{cases}
    • D = Discounted: smorziamo l’impatto dei gain man mano che ci muoviamo in profondità nel ranking utilizzando il logaritmo: DCG_j[i] = \begin{cases} G_j [1] \; \; \; \text{if i = 1} \\ \dfrac{G_j[i]}{\log_2 i} + DCG_j[i - 1] \; \; \; \text{i > 1} \end{cases}
      • Esempio
        • DCG1 = (1.0, 1.0, 1.6, 1.6, 1.6, 2.8, 2.8, 2.8, 2.8, 3.4, 3.4, 3.4, 3.4, 3.4, 4.2)
        • DCG2 = (0.0, 0.0, 1.3, 1.3, 1.3, 1.3, 1.3, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 2.4)
  • A questo punto è possibile utilizzare il CG o il DCG su un insieme di query semplicemente facendo la media del CG o DCG per ogni posizione sul numero delle query: CG_m[i] = \displaystyle \sum_{j = 1}^{N_q} \dfrac{CG_j[i]}{N_q}
    • Problema: il confronto tra algoritmi di ranking diversi non è possibile data la mancanza di una baseline.
    • Soluzione: utilizzare l’Ideal Gain Vector, ovvero un vettore creato ordinando tutti i punteggi di rilevanza in ordine decrescente
      • Esempio
        • IG1 = (3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0)
        • IG2 = (3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
      • A questo punto si eseguono gli stessi calcoli precedenti, quindi si ottiene l’ICG, l’IDCG e poi si fa la media tra le query. In questo modo abbiamo una base di confronto
    • L’Ideal viene poi utilizzato per normalizzare CG e DCG: NCG[i] = \dfrac{CG_m[i]}{ICG_m[i]}
      • L’area sotto le curve di NCG e NDCG rappresentano la qualità del ranking, maggiore è l’area, migliori sono i risultati. Quindi, curve normalizzate possono essere utilizzate per confrontare algoritmi di ranking differenti
  • Rank correlation: Precision e recall permettono di comparare la rilevanza dei risultati prodotti da due funzioni di ranking. Però, ci sono casi in cui non è possibile misurare direttamente la rilevanza, o perché non c’è una raccolta di giudizi di rilevanza fatta da esperti, o perché siamo interessati a confrontare un algoritmo da testare con uno il cui buon funzionamento è noto. Questo può essere fatto utilizzando funzioni statistiche chiamate metriche di rank correlation.
    • Una metrica di rank correlation che confronta due funzioni di ranking R1 e R2 rispetta le seguenti proprietà:
      • -1 \leq C(R_1, R_2) \leq 1
      • se C(R_1, R_2) = 1, i due algoritmi sono completamente d’accordo (sono uguali)
      • se C(R_1, R_2) = -1, i due algoritmi sono completamente in disaccordo (sono uno il reverse dell’altro)
      • se C(R_1, R_2) = 0, i due ranking sono completamente indipendenti
    • Coefficiente di Spearman: si basa sulle differenze tra le posizioni dello stesso documento nei due ranking a confronto. Per enfatizzare la distanza si calcola il quadrato delle distanze. Per produrre poi una valutazione quantitativa, sommiamo le differenze per ogni coppia ordinata
      • In generale, data una lista di K documenti, il massimo valore per la somma dei quadrati vale \dfrac{K \cdot (K^2 - 1)}{3}
      • A questo punto “normalizziamo” la somma delle distanze quadratiche con il massimo valore per la somma dei quadrati:
        • \dfrac{\displaystyle \sum_{j = 1}^K (s_{1, j} - s_{2, j})^2}{\dfrac{K \cdot (K^2 - 1)}{3}}
          • Il suo valore sarà 0 se i ranking sono in perfetto accordo e +1 quando sono in totale disaccordo. Vogliamo però una misura che sia nel range [-1, 1]
            • Per fare ciò moltiplichiamo il tutto per 2 e sottraiamo il risultato a 1
      • Coefficiente di Spearman finale: S(R_1, R_2) = 1 - \dfrac{6 \times \displaystyle \sum_{j =1}^K (s_{1, j}-s_{2, j})^2}{K \times (K^2 - 1)}
      • Coefficiente di Kendall Tau: prendiamo due documenti e le loro posizioni nei due ranking in maniera indipendente tra loro. Quindi, verifico in che ordine i documenti si trovano. Se l’ordine è lo stesso, la coppia di documenti (d_k, d_j) è concorde, altrimenti è discorde.
        • Consideriamo tutte le coppie ordinate dei due ranking e verifichiamo se siano concordi o meno tra i ranking. Infine, contiamo il numero di coppie concordi e discordi tra i due ranking e calcoliamo la differenza: \tau(R_1, R_2) = P(R_1 = R_2) - P(R_1 \neq R_2)